<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.org/ui">
    <h:head>
        <title>ERP Nasajon</title>
        <h:outputStylesheet name="estilo.css" library="css"/>

        <style>
            *{font-size: 12px}
        </style>
    </h:head>
    <p:growl showDetail="true" sticky="true"/>
    <h:body>
        <p:menubar style="width: 99.6%;">
            <p:submenu label="Sistema">
                <p:menuitem value="Logout" url="#{facesContext.externalContext.requestContextPath}/j_spring_security_logout" styleClass="open"/>
            </p:submenu>
            <p:submenu label="Cadastros">
                <p:menuitem value="Clientes" url="#" styleClass="open" onclick="frmClientes.show();"/>
            </p:submenu>
        </p:menubar>

        <p:dialog header="Manutenção de clientes" draggable="true" widgetVar="frmClientes">
            <p:toolbar id="tlbAcoes">
                <p:toolbarGroup align="left">
                    <h:form prependId="false" id="frmToolbar" >
                        <p:commandButton 
                            value="Novo" 
                            actionListener="#{clienteControle.prepararAdicionarCliente(actionEvent)}" 
                            update="infosCliente" 
                            oncomplete="dialogGerCliente.show()"
                            image="ui-icon-document"/>
                        <p:commandButton 
                            id="btnAlterar"
                            actionListener="#{clienteControle.prepararAlterarCliente(actionEvent)}" 
                            value="Alterar" 
                            update="infosCliente" 
                            oncomplete="dialogGerCliente.show()"
                            image="ui-icon-pencil"
                            process="@this"
                            disabled="#{!clienteControle.selected}"/>
                        <p:commandButton 
                            id="btnExluir"
                            actionListener="#{clienteControle.prepararExcluirCliente(actionEvent)}" 
                            value="Excluir"
                            oncomplete="confirmationExcluir.show();"
                            image="ui-icon-trash"
                            disabled="#{!clienteControle.selected}"/>  
                    </h:form>
                </p:toolbarGroup>
            </p:toolbar>
            <h:form prependId="false" id="form">                
                <p:dataTable id="tabela" 
                             var="cliente" 
                             value="#{clienteControle.listaClientes}"
                             rowKey="#{cliente.cliente}"
                             paginator="true" rows="15" sortBy="#{cliente.codigo}"
                             paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
                             rowsPerPageTemplate="5,10,15,20" selectionMode="single" pageLinks="10" emptyMessage="Nenhum registro encontrado" dblClickSelect="false"
                             selection="#{clienteControle.cliente}"
                             >
                    <p:ajax event="rowSelect" update=":frmToolbar:btnAlterar :frmToolbar:btnExluir" />  
                    <p:ajax event="rowUnselect" update=":frmToolbar:btnAlterar :frmToolbar:btnExluir"/>  

                    <p:column style="width: 10%" sortBy="#{cliente.codigo}" filterBy="#{cliente.codigo}">
                        <f:facet name="header"><h:outputText value="Código"/></f:facet>
                        <h:outputText value="#{cliente.codigo}"/>
                    </p:column>

                    <p:column sortBy="#{cliente.nomeFantasia}" filterBy="#{cliente.nomeFantasia}" style="width: 40%">
                        <f:facet name="header"><h:outputText value="Nome Fantasia"/></f:facet>
                        <h:outputText value="#{cliente.nomeFantasia}"/>
                    </p:column>

                    <p:column sortBy="#{cliente.cpf}" filterBy="#{cliente.cpf}" style="width: 15%">
                        <f:facet name="header"><h:outputText value="CPF"/></f:facet>
                        <h:outputText value="#{cliente.cpf}"/>
                    </p:column>

                    <p:column sortBy="#{cliente.cnpj}"  filterBy="#{cliente.cnpj}" style="width: 15%">
                        <f:facet name="header"><h:outputText value="CNPJ"/></f:facet>
                        <h:outputText value="#{cliente.cnpj}"/>
                    </p:column>

                    <p:column sortBy="#{cliente.email}" filterBy="#{cliente.email}" style="width: 20%">
                        <f:facet name="header"><h:outputText value="Email"/></f:facet>
                        <h:outputText value="#{cliente.email}"/>
                    </p:column>
                    <f:facet name="footer">
                        <h:outputText style="text-align:left;" value="Usuário logado: [#{usuarioControle.usuario.perfilusuario.nome}]
                                      #{usuarioControle.usuario.login} - 
                                      #{usuarioControle.usuario.nome}">
                        </h:outputText>
                    </f:facet>
                </p:dataTable>

                <h:commandLink>
                    <p:graphicImage value="#{resource['images:excel.png']}" />
                    <p:dataExporter type="xls" target="tabela" fileName="Clientes" />
                </h:commandLink>

                <h:commandLink>
                    <p:graphicImage value="#{resource['images:pdf.png']}" />
                    <p:dataExporter type="pdf" target="tabela" fileName="Clientes"/>
                </h:commandLink>

                <h:commandLink>
                    <p:graphicImage value="#{resource['images:csv.png']}" />
                    <p:dataExporter type="csv" target="tabela" fileName="Clientes" />
                </h:commandLink>

                <h:commandLink>
                    <p:graphicImage value="#{resource['images:xml.png']}" />
                    <p:dataExporter type="xml" target="tabela" fileName="Clientes" />
                </h:commandLink>

            </h:form>  
        </p:dialog>

        <h:form prependId="false" id="dlg">
            <p:confirmDialog widgetVar="confirmationExcluir"
                             header="Aviso"
                             message="Deseja realmente excluir este registro?"
                             severity="alert">
                <p:commandButton value="Sim" update="tabela"
                                 actionListener="#{clienteControle.excluirCliente(actionEvent)}" 
                                 oncomplete="confirmationExcluir.hide()"
                                 process="@form"/>
                <p:commandButton value="Não"  
                                 onclick="confirmationExcluir.hide()"
                                 type="button"/>
            </p:confirmDialog>
        </h:form>

        <h:form prependId="false" id="frmFicha"> 
            <p:dialog resizable="false" 
                      widgetVar="dialogGerCliente" 
                      header="Browser de Clientes" 
                      showEffect="slide" 
                      hideEffect="explode" 
                      modal="true" 
                      width="500">
                <h:panelGrid columns="2" id="infosCliente" style="margin-bottom: 10px">
                    <h:outputLabel for="codigo" value="Código"/>
                    <h:inputText id="codigo" value="#{clienteControle.cliente.codigo}"/>

                    <h:outputLabel for="razaoSocial" value="Razão Social"/>
                    <h:inputText id="razaoSocial" value="#{clienteControle.cliente.razaoSocial}"/>

                    <h:outputLabel for="nomeFantasia" value="Nome Fantasia"/>
                    <h:inputText id="nomeFantasia" value="#{clienteControle.cliente.nomeFantasia}"/>

                    <h:outputLabel for="cpf" value="CPF"/>
                    <h:inputText id="cpf" value="#{clienteControle.cliente.cpf}"/>

                    <h:outputLabel for="cnpj" value="CNPJ"/>
                    <h:inputText id="cnpj" value="#{clienteControle.cliente.cnpj}"/>

                    <h:outputLabel for="inscricaoMunicipal" value="Inscrição Municipal"/>
                    <h:inputText id="inscricaoMunicipal" value="#{clienteControle.cliente.inscricaoMunicipal}"/>

                    <h:outputLabel for="inscricaoEstadual" value="Inscrição Estadual"/>
                    <h:inputText id="inscricaoEstadual" value="#{clienteControle.cliente.inscricaoEstadual}"/>

                    <h:outputLabel for="email" value="E-mail"/>
                    <h:inputText id="email" value="#{clienteControle.cliente.email}"/>

                    <h:outputLabel for="site" value="Site"/>
                    <h:inputText id="site" value="#{clienteControle.cliente.site}"/>


                    <p:commandButton value="Salvar" update="tabela"
                                     actionListener="#{clienteControle.adicionarCliente(actionEvent)}"
                                     oncomplete="dialogGerCliente.hide()"
                                     image="ui-icon-disk" 
                                     rendered="#{clienteControle.incluindo}"/>
                    <p:commandButton value="Salvar" update="tabela"
                                     actionListener="#{clienteControle.alterarCliente(actionEvent)}" 
                                     oncomplete="dialogGerCliente.hide()"
                                     image="ui-icon-disk" rendered="#{!clienteControle.incluindo}"/>
                    <p:commandButton value="Cancelar" onclick="dialogGerCliente.hide()"
                                     image="ui-icon-cancel"/>
                </h:panelGrid>
            </p:dialog>
        </h:form>
    </h:body>

    <p:dock>
        <p:menuitem value="Clientes" icon="#{resource['images:aperture.png']}" url="#" onclick="frmClientes.show();frmClientes.focus()" />
        <p:menuitem value="Propostas" icon="#{resource['images:photoshop.png']}" url="#"/>
        <p:menuitem value="Pedidos" icon="#{resource['images:coda.png']}" url="#"/>
        <p:menuitem value="Titulos" icon="#{resource['images:safari.png']}" url="#" />
        <p:menuitem value="Contas" icon="#{resource['images:finder.png']}" url="#" />
    </p:dock>


    <p:stack icon="#{resource['images:stack.png']}">
        <p:menuitem value="Clientes" icon="#{resource['images:aperture.png']}" url="#" onclick="frmClientes.show();frmClientes.focus()" />
        <p:menuitem value="Propostas" icon="#{resource['images:photoshop.png']}" url="#"/>
        <p:menuitem value="Pedidos" icon="#{resource['images:coda.png']}" url="#"/>
        <p:menuitem value="Titulos" icon="#{resource['images:safari.png']}" url="#" />
        <p:menuitem value="Contas" icon="#{resource['images:finder.png']}" url="#" />
    </p:stack> 

</html>
